//package com.waylau.spring.boot.blog.repository;
//
//import com.waylau.spring.boot.blog.domain.User;
//import org.springframework.stereotype.Repository;
//
//import java.util.ArrayList;
//import java.util.List;
//import java.util.concurrent.ConcurrentHashMap;
//import java.util.concurrent.ConcurrentMap;
//import java.util.concurrent.atomic.AtomicLong;
//
///**
// * UserRepositoryImpl
// *
// * @author leon.cheng
// * @date 2018/12/21 9:38
// **/
//@Repository
//public class UserRepositoryImpl implements UserRepository {
//    private static AtomicLong counter = new AtomicLong();
//    private final ConcurrentMap<Long, User> userMap = new ConcurrentHashMap<>();
//
//    @Override
//    public User saveOrUpdateUser(User user) {
//        Long id = user.getId();
//        if (id == null) {
//            id = counter.incrementAndGet();
//            user.setId(id);
//        }
//        userMap.put(user.getId(), user);
//        return user;
//    }
//
//    @Override
//    public void deleteUser(Long id) {
//        userMap.remove(id);
//    }
//
//    @Override
//    public User getUserById(Long id) {
//        return userMap.getOrDefault(id, null);
//    }
//
//    @Override
//    public List<User> listUsers() {
//        return new ArrayList<>(userMap.values());
//    }
//}
